import request from '../request-axios.js';
import { API_CONFIG } from '../config.js';

// 任务管理API - 根据API文档更新
export const taskAPI = {
  // 查询任务管理列表
  getTaskList: (params = {}) => {
    return request.post(API_CONFIG.ENDPOINTS.TASK_LIST, null, { params });
  },

  // 新增保存任务管理
  addTask: (data) => {
    return request.post(API_CONFIG.ENDPOINTS.TASK_ADD, null, { params: data });
  },

  // 修改保存任务管理
  updateTask: (taskId, data) => {
    const params = {
      taskId: taskId,
      ...data
    };
    return request.post(API_CONFIG.ENDPOINTS.TASK_UPDATE, null, { params });
  },

  // 删除任务管理（支持单个ID或ID数组）
  deleteTask: (idOrIds) => {
    // 统一处理单个ID和ID数组
    let idsParam;
    if (Array.isArray(idOrIds)) {
      // 批量删除：数组转换为逗号拼接字符串
      idsParam = idOrIds.join(',');
    } else {
      // 单个删除：直接使用ID
      idsParam = idOrIds;
    }
    return request.post(API_CONFIG.ENDPOINTS.TASK_DELETE, null, { params: { ids: idsParam } , responseType: 'blob', });
  },
  // 导出
  exportVideoDataTask: (params = {}) => {
    return request.get(API_CONFIG.ENDPOINTS.TASK_EXPORT, null, { params });
  },
  // 导入
   importTask:(params = {}) => {
     return request.post(API_CONFIG.ENDPOINTS.TASK_IMPORT, null, { params });
   },
  // 下拉任务管理
  getTaskDropdown: (params = {}) => {
    return request.post(API_CONFIG.ENDPOINTS.TASK_DROPDOWN, null, { params });
  },

  // 批量删除任务（兼容性方法，实际调用deleteTask）
  batchDeleteTasks: (ids) => {
    return taskAPI.deleteTask(ids);
  },

  // 获取任务详情
  getTaskDetail: (id) => {
    return request.post(API_CONFIG.ENDPOINTS.TASK_LIST, null, { params: { id } });
  }
};

export default taskAPI;
